package main

func Loop1() {
	for i := 0; i < 10; i++ {
		println(i)
	}
	//两种写法一样
	for i := 0; i < 10; {
		println(i)
		i++
	}
}

func Loop2() {
	i := 0
	for i < 10 {
		println(i)
		i++ //要写＋，不然死循环
	}

}

// 无限循环，会把cpu达到100%，谨慎谨慎使用
func Loop3() {
	// println("hello")
}

func ForArray() {
	println("遍历数组")
	arr := [3]string{"A", "B", "C"}
	for idx, val := range arr {
		println(idx, val)
	}
}

func ForSlice() {
	println("遍历切片")
	arr := []string{"A", "B", "C"}
	for idz, vae := range arr {
		println(idz, vae)
	}
}

func ForMap() {
	println("遍历map")
	m := map[string]string{
		"1": "A",
		"2": "B",
	}
	for key, value := range m {
		println(key, value)
	}

	println("遍历map,忽略key")
	for _, value := range m {
		println(value)
	}

	println("遍历map,忽略value")
	for key, _ := range m {
		println(key, m[key])
	}

}

func ForBreak() {
	i := 0
	for {
		if i >= 10 {
			break //break的作用跳出循环，一旦到10就不会执行for循环，到10执行println(i)这句了，跳出for循环语句
		}
		println("for里面的", i)
		i++
	}
	println(i)

}

func ForContinue() {
	for i := 0; i < 10; i++ {
		println("comtinue前", i)
		if i%2 == 0 {
			continue //立刻结束这一次迭代，进入下一轮迭代。break是整个循环都结束
		}
		println("comtinue后", i)
	}
}
